package com.inspinia.config.rpc.api;

import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigFile;
import com.ctrip.framework.apollo.core.enums.ConfigFileFormat;

/**
 * 配置提供接口回调
 * @author Veblen
 */
public interface ApolloConfigCallback {
    /**
     * 获取默认config配置（application）
     * @return
     */
    Config getDefaultConfig();

    /**
     * 根据配置名称获取配置
     * @param namespace 配置
     * @return
     */
    Config getConfigByNamespace(String namespace);

    /**
     * 根据配置名称和指定格式获取配置
     * @param namespace 配置名称
     * @param fileFormat 配置格式
     * @return
     */
    ConfigFile getConfigByPropNameAndFormat(String namespace, ConfigFileFormat fileFormat);
}
